home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 13 / AMIGAplus Sonderheft 13 (1998)(ICP)(DE)[!].iso / rexx / batchcopy.filer < prev    next >
Text File  |  1996-10-27  |  2KB  |  96 lines

  1. /* 
  2.  
  3.    $VER: BatchCopy.filer 2.0 (27.10.96)
  4.  
  5.    Author:
  6.     Matthias Scheler <tron@lyssa.owl.de>
  7.  
  8.    Function:
  9.     All selected files in the active directory listview will be uploaded
  10.     via Olaf `Olsen' Barthel's Term
  11.  
  12.    History:
  13.     2.0   reworked to take advantage of Filer >= 3.x
  14.  
  15.    Call:
  16.     Upload
  17.  
  18.    Example for "Filer.RC":
  19.     BUTTON ...,...,"Batch Copy","BatchCopy"
  20.  
  21. */
  22.  
  23. OPTIONS RESULTS
  24.  
  25. GETSOURCEPATH
  26. IF RESULT="RESULT" THEN EXIT 5
  27. SourceDir=RESULT
  28.  
  29. GETTARGETPATH
  30. IF RESULT="RESULT" THEN EXIT 5
  31. TargetDir=RESULT
  32.  
  33. LOCKFILER
  34. IF RESULT="RESULT" THEN EXIT 5
  35. Key=RESULT
  36.  
  37. PANEL OFF
  38.  
  39. 'STATUS Creating batch file'
  40.  
  41. TEMPFILENAME
  42. BatchFileName=RESULT
  43. IF OPEN('BatchFile',BatchFileName,"WRITE")=0 THEN
  44.  DO
  45.   PANEL ON
  46.   UNLOCKFILER Key
  47.  
  48.   "HISTORY Can't open batchfile."
  49.   EXIT 5
  50.  END
  51.  
  52. CALL WRITELN('BatchFile','CD "'||SourceDir||'"')
  53.  
  54. GETNUMENTRIES
  55. Num=RESULT
  56. DO Index=1 TO Num
  57.  GETNAME Index
  58.  Data=RESULT
  59.  Name=SUBSTR(Data,2)
  60.  
  61.  IF LEFT(Data,1)="d" THEN
  62.   DO
  63.    IF RIGHT(TargetDir,1)=':' THEN
  64.     CALL WRITELN('BatchFile','Copy "'||Name||'" TO "'||TargetDir||Name||'" ALL CLONE QUIET')
  65.    ELSE
  66.     CALL WRITELN('BatchFile','Copy "'||Name||'" TO "'||TargetDir||'/'||Name||'" ALL CLONE QUIET')
  67.  
  68.    TOGGLEENTRY Index
  69.    'HISTORY Added directory "'||Name||'" to batchfile.'
  70.   END
  71.  
  72.  IF LEFT(Data,1)="f" THEN
  73.   DO
  74.    CALL WRITELN('BatchFile','Copy "('||Name||')" TO "'||TargetDir||'" CLONE')
  75.  
  76.    TOGGLEENTRY Index
  77.    'HISTORY Added file "'||Name||'" to batchfile.'
  78.   END
  79.  
  80. END
  81.  
  82. CALL WRITELN('BatchFile','rx "'||"ADDRESS 'FilerRexx' UPDATETARGETDIR"||'"')
  83. CALL WRITELN('BatchFile','rx "'||"ADDRESS 'FilerRexx' FILERTOFRONT"||'"')
  84. CALL WRITELN('BatchFile','Run >NIL: Wait 2 SECS+')
  85. CALL WRITELN('BatchFile','Delete "'||BatchFileName||'" QUIET')
  86. CALL WRITELN('BatchFile','EndCLI >NIL:')
  87. CALL CLOSE('BatchFile')
  88.  
  89. ADDRESS 'COMMAND' 'NewShell WINDOW CON:0/20/640/160/Batch-Copy/CLOSE FROM '||BatchFileName
  90.  
  91. FILERTOFRONT
  92. PANEL ON
  93. UNLOCKFILER Key
  94.  
  95. EXIT 0
  96.